Methods, apparatuses and computer program products for providing artificial-intelligence-based indicia data editing

ABSTRACT

Methods, apparatuses and computer program products for providing artificial-intelligence-based indicia data editing are provided. For example, an example computer-implemented method may include determining, based at least in part on a data processing model associated with a scan setting module, a first decoded data string corresponding to a first indicia; determining, based at least in part on user input data, a first input data string corresponding to the first indicia; generating a predictive indicia data editing model based at least in part on providing the first decoded data string and the first input data string to an artificial intelligence algorithm; and updating the scan setting module based at least in part on the predictive indicia data editing model.

FIELD OF THE INVENTION

Example embodiments of the present disclosure relate generally tocapturing and editing indicia data and, more particularly, to methods,apparatuses and computer program products for providingartificial-intelligence-based indicia data editing.

BACKGROUND

A barcode reader (also referred to as a barcode scanner) is anelectronic device that can capture information stored in barcodes.Applicant has identified many technical challenges and difficultiesassociated with barcode readers/scanners, as well as methods and systemsrelated to barcode readers/scanners.

BRIEF SUMMARY

Various embodiments described herein relate to methods, apparatuses, andcomputer program products for providing artificial-intelligence-based(AI-based) indicia data editing.

In accordance with various embodiments of the present disclosure, anapparatus is provided. In some embodiments, the apparatus comprises atleast one processor and at least one non-transitory memory comprisingprogram code. In some embodiments, the at least one non-transitorymemory and the program code are configured to, with the at least oneprocessor, cause the apparatus to at least: determine, based at least inpart on a data processing model associated with a scan setting module, afirst decoded data string corresponding to a first indicia; determine,based at least in part on user input data, a first input data stringcorresponding to the first indicia; generate a predictive indicia dataediting model based at least in part on providing the first decoded datastring and the first input data string to an artificial intelligencealgorithm; and update the scan setting module based at least in part onthe predictive indicia data editing model.

In some embodiments, prior to receiving the first decoded data string,the at least one non-transitory memory and the program code areconfigured to, with the at least one processor, cause the apparatus to:receive indicia imaging data associated with the first indicia from anindicia data capturing device; and generate the first decoded datastring based at least in part on the indicia imaging data and the dataprocessing model.

In some embodiments, the artificial intelligence algorithm comprises atleast one pattern matching algorithm.

In some embodiments, the artificial intelligence algorithm comprises atleast one regular expression algorithm.

In some embodiments, the predictive indicia data editing model definesat least one predictive indicia data editing indication.

In some embodiments, prior to updating the scan setting module, the atleast one non-transitory memory and the program code are configured to,with the at least one processor, cause the apparatus to: render apredictive indicia data editing user interface. In some embodiments, thepredictive indicia data editing user interface comprises at least onepredictive indicia data editing user interface element based on the atleast one predictive indicia data editing indication.

In some embodiments, the predictive indicia data editing user interfacefurther comprises: at least one confirm button user interface elementcorresponding to the at least one predictive indicia data editing userinterface element, and at least one edit button user interface elementcorresponding to the at least one predictive indicia data editing userinterface element.

In some embodiments, the at least one non-transitory memory and theprogram code are configured to, with the at least one processor, causethe apparatus to: receive user selection input data associated with theat least one confirm button user interface element; and in response toreceiving the user selection input data, update the scan setting modulebased at least in part on the at least one predictive indicia dataediting indication.

In some embodiments, the at least one non-transitory memory and theprogram code are configured to, with the at least one processor, causethe apparatus to: receive user selection input data associated with theat least one edit button user interface element; in response toreceiving the user selection input data, render an updated predictiveindicia data editing user interface comprising at least one edit optionuser interface element; receive user edit input data associated with theat least one edit option user interface element; generate at least oneupdated predictive indicia data editing indication based at least inpart on the at least one predictive indicia data editing indication andthe user edit input data; and update the scan setting module based atleast in part on the at least one updated predictive indicia dataediting indication.

In some embodiments, the predictive indicia data editing user interfacefurther comprises at least one of a prefix editing user interfaceelement, a suffix editing user interface element, and a symbologyidentifier (ID) editing user interface element.

In some embodiments, the at least one non-transitory memory and theprogram code are configured to, with the at least one processor, causethe apparatus to: receive user edit input data associated with the atleast one of the prefix editing user interface element, the suffixediting user interface element, and the symbology ID editing userinterface element; and update the at least one predictive indicia dataediting indication based at least in part on the user edit input data.

In some embodiments, the at least one predictive indicia data editingindication comprises at least one predictive editing applicabilityindication and at least one predictive editing operation indication.

In some embodiments, the at least one predictive editing applicabilityindication defines at least one characteristic requirement based on thefirst decoded data string. In some embodiments, the at least onepredictive editing operation indication defines at least one indiciadata editing operation based on the first decoded data string and thefirst input data string.

In some embodiments, the at least one non-transitory memory and theprogram code are configured to, with the at least one processor, causethe apparatus to: receive a second decoded data string corresponding toa second indicia; and determine whether the second decoded data stringsatisfies the at least one characteristic requirement.

In some embodiments, the at least one non-transitory memory and theprogram code are configured to, with the at least one processor, causethe apparatus to: in response to determining that the second decodeddata string satisfies the at least one characteristic requirement:generate a predictive data string based at least in part on providingthe second decoded data string to the predictive indicia data editingmodel; and transmit the predictive data string to a keyboard module.

In some embodiments, the at least one non-transitory memory and theprogram code are configured to, with the at least one processor, causethe apparatus to: in response to determining that the second decodeddata string does not satisfy the at least one characteristicrequirement, transmit the second decoded data string to a keyboardmodule.

In accordance with various embodiments of the present disclosure, acomputer-implemented method is provided. In some embodiments, thecomputer-implemented method comprises determining, based at least inpart on a data processing model associated with a scan setting module, afirst decoded data string corresponding to a first indicia; determining,based at least in part on user input data, a first input data stringcorresponding to the first indicia; generating a predictive indicia dataediting model based at least in part on providing the first decoded datastring and the first input data string to an artificial intelligencealgorithm; and updating the scan setting module based at least in parton the predictive indicia data editing model.

In accordance with various embodiments of the present disclosure, acomputer program product is provided. In some embodiments, the computerprogram product comprises at least one non-transitory computer-readablestorage medium having computer-readable program code portions storedtherein. In some embodiments, the computer-readable program codeportions comprise an executable portion configured to: determine, basedat least in part on a data processing model associated with a scansetting module, a first decoded data string corresponding to a firstindicia; determine, based at least in part on user input data, a firstinput data string corresponding to the first indicia; generate apredictive indicia data editing model based at least in part onproviding the first decoded data string and the first input data stringto an artificial intelligence algorithm; and update the scan settingmodule based at least in part on the predictive indicia data editingmodel.

The foregoing illustrative summary, as well as other exemplaryobjectives and/or advantages of the disclosure, and the manner in whichthe same are accomplished, are further explained in the followingdetailed description and its accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The description of the illustrative embodiments may be read inconjunction with the accompanying figures. It will be appreciated that,for simplicity and clarity of illustration, elements illustrated in thefigures have not necessarily been drawn to scale, unless describedotherwise. For example, the dimensions of some of the elements may beexaggerated relative to other elements, unless described otherwise.Embodiments incorporating teachings of the present disclosure are shownand described with respect to the figures presented herein, in which:

FIG. 1 is an example system architecture diagram illustrating an exampleindicia data capturing and editing platform in accordance with someembodiments of the present disclosure;

FIG. 2 illustrates an example block diagram of an example indicia datacapturing device in accordance with example embodiments describedherein;

FIG. 3 illustrates an example block diagram of an example indicia dataediting device in accordance with example embodiments described herein;

FIG. 4 is an example flowchart illustrating an example method ofupdating an example scan setting module in accordance with exampleembodiments of the present disclosure;

FIG. 5 is an example flowchart illustrating an example method ofupdating an example scan setting module in accordance with exampleembodiments of the present disclosure;

FIG. 6 is an example flowchart illustrating an example method ofupdating an example scan setting module in accordance with exampleembodiments of the present disclosure;

FIG. 7 is an example flowchart illustrating an example method ofupdating at least one example predictive indicia data editing indicationin accordance with example embodiments of the present disclosure;

FIG. 8 is an example flowchart illustrating an example method ofprocessing an example decoded data string in accordance with exampleembodiments of the present disclosure;

FIG. 9A illustrates an example user interface that is rendered on adisplay in accordance with example embodiments of the presentdisclosure;

FIG. 9B illustrates an example user interface that is rendered on adisplay in accordance with example embodiments of the presentdisclosure;

FIG. 9C illustrates an example user interface that is rendered on adisplay in accordance with example embodiments of the presentdisclosure;

FIG. 9D illustrates an example user interface that is rendered on adisplay in accordance with example embodiments of the presentdisclosure;

FIG. 10A illustrates an example user interface that is rendered on adisplay in accordance with example embodiments of the presentdisclosure;

FIG. 10B illustrates an example user interface that is rendered on adisplay in accordance with example embodiments of the presentdisclosure;

FIG. 11A illustrates an example predictive indicia data editing userinterface that is rendered on a display in accordance with exampleembodiments of the present disclosure;

FIG. 11B illustrates an example predictive indicia data editing userinterface that is rendered on a display in accordance with exampleembodiments of the present disclosure; and

FIG. 11C illustrates an example predictive indicia data editing userinterface that is rendered on a display in accordance with exampleembodiments of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

Some embodiments of the present disclosure will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the disclosure are shown. Indeed, thesedisclosures may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. Like numbers refer to like elements throughout.

As used herein, terms such as “front,” “rear,” “top,” etc. are used forexplanatory purposes in the examples provided below to describe therelative position of certain components or portions of components.Furthermore, as would be evident to one of ordinary skill in the art inlight of the present disclosure, the terms “substantially” and“approximately” indicate that the referenced element or associateddescription is accurate to within applicable engineering tolerances.

As used herein, the term “comprising” means including but not limited toand should be interpreted in the manner it is typically used in thepatent context. Use of broader terms such as comprises, includes, andhaving should be understood to provide support for narrower terms suchas consisting of, consisting essentially of, and comprised substantiallyof.

The phrases “in one embodiment,” “according to one embodiment,” “in someembodiments,” and the like generally mean that the particular feature,structure, or characteristic following the phrase may be included in atleast one embodiment of the present disclosure, and may be included inmore than one embodiment of the present disclosure (importantly, suchphrases do not necessarily refer to the same embodiment).

The word “example” or “exemplary” is used herein to mean “serving as anexample, instance, or illustration.” Any implementation described hereinas “exemplary” is not necessarily to be construed as preferred oradvantageous over other implementations.

If the specification states a component or feature “may,” “can,”“could,” “should,” “would,” “preferably,” “possibly,” “typically,”“optionally,” “for example,” “often,” or “might” (or other suchlanguage) be included or have a characteristic, that a specificcomponent or feature is not required to be included or to have thecharacteristic. Such a component or feature may be optionally includedin some embodiments, or it may be excluded.

The term “electronically coupled,” “electronically coupling,”“electronically couple,” “in communication with,” “in electroniccommunication with,” or “connected” in the present disclosure refers totwo or more elements or components being connected through wired meansand/or wireless means, such that signals, electrical voltage/current,data and/or information may be transmitted to and/or received from theseelements or components.

In the present disclosure, the term “indicia” refers to one or moremachine-readable/machine-decodable codes that represent data andinformation in a visual form that may include, but not limited to,patterns, lines, numbers, letters, and/or the like. Examples of indiciamay include, but are not limited to, one-dimensional (1D) barcodes,two-dimensional (2D) barcodes, Quick Response (QR) code,information-based indicia, Aztec codes, data matrix, texts, and/or thelike. In some embodiments, indicia may be affixed, printed, or otherwiseattached to items and/or objects to provide information regarding theitem or the object in a machine-readable/machine-decodable format.

In some embodiments, to capture data and/or information from indicia, anindicia data capturing device may be used. In the present disclosure,the term “indicia data capturing device” refers to a device that readsand/or scans indicia. Examples of indicia data capturing devices mayinclude, but are not limited to, barcode scanners, QR code scanners,imaging scanners, area-image scanners, imaging readers, and/or the like.In some embodiments, an example indicia data capturing device may behand-held (for example, a scanner that can be moved by a user's handover the indicia being scanned). In some embodiments, an example indiciadata capturing device may be fixedly mounted (for example, a scannerthat is mounted on top of a counter or a table).

As an example, a user may trigger an indicia data capturing device(e.g., by pulling a trigger of an indicia data capturing device, bypointing an indicia data capturing device in streaming mode at theindicia, etc.) to capture indicia imaging data of the indicia. In someembodiments, the indicia imaging data may comprise digital images of theindicia. In some embodiments, the indicia data capturing device mayilluminate its field of view with a visible light source (such as, butnot limited to, white light, laser light) through its illuminationcomponent during image capture, especially in low lighting conditions.In some embodiments, illuminating the indicia during imaging helpsensure that the captured indicia imaging data is suitable forprocessing.

In some embodiments, after the indicia data capturing device capturesthe indicia imaging data, the indicia data capturing device may processthe indicia imaging data through a processor that is part of an indiciadata capturing device. Additionally, or alternatively, after the indiciadata capturing device captures the indicia imaging data, the indiciadata capturing device may transmit the indicia imaging data to anindicia data editing device, and the indicia data editing device mayprocess the indicia imaging data through a processor that is part of theindicia data editing device. As such, various example embodiments of thepresent disclosure enable the indicia imaging data to be processedthrough a processor that is either part of the indicia data capturingdevice or part of the indicia data editing device that iscommunicatively coupled to the indicia data capturing device. In someembodiments, the processor recognizes the indicia from the indiciaimaging data and decodes the indicia according to a type of the indicia(such as, but not limited to, 1D barcodes, 2D barcodes, QR codes and/orthe like) and/or a symbology format of the indicia (such as, but notlimited to, Code 11, Code 128, and/or the like).

There are many technical challenges and difficulties associated withcapturing and/or processing data and/or information from indicia.

For example, different users may have different requirements forprocessing the indicia imaging data, and the indicia imaging data may beprocessed differently in different use cases. As an example, a user mayuse an indicia data capturing device to capture indicia imaging data ofthe indicia that is attached on an item in order to determine an itemidentifier of the item. The format of the item identifier may bedetermined by an asset management system and/or according to an itemidentification protocol. In this example, the user may use an indiciadata capturing device to capture indicia imaging data associated withthe indicia.

In some embodiments, the indicia data capturing device and/or theindicia data editing device may process indicia imaging data to generateone or more decoded data strings. In some embodiments, each of the oneor more decoded data strings may include one or more characters and/orone or more numbers. Continuing from the example above, the decoded datastring based on the indicia imaging data of an indicia associated withan item may include the following characters and/or numbers:

-   -   ABC1234567890

In some embodiments, the decoded data strings may not reflect thedesired data and/or information that would satisfy requirements fromusers (for example, formatting requirements) and/or according tospecific user cases. For example, the decoded data string may includeone or more characters and/or one or more numbers that should be removedaccording to the formatting requirements. Additionally, oralternatively, the decoded data string may not include one or morecharacters and/or numbers that are required by the formattingrequirements. Additionally, or alternatively, the decoded data stringmay include one or more characters and/or numbers that are out of orderaccording to the formatting requirements.

Continuing from the example above, the corresponding data string of thesame indicia associated with the same item that has been formatted tosatisfy the requirements by the asset management system and/or the itemidentification protocol may be as follows:

-   -   123456789Z

As illustrated in the example above, there are discrepancies between thedecoded data string based on the indicia imaging data and the formatteddata string, which can cause technical disadvantages and difficulties.For example, if the indicia data capturing device or the indicia dataediting device provide the decoded data string “ABC1234567890” to adownstream device, application, or process (for example, to a keyboardmodule described herein), the downstream device, application, or processmay not be able to determine what the decoded data string indicatesbecause of its incorrect formatting, and may not be able to use thedecoded data string properly in the downstream device, application, orprocess.

Continuing from the example above, the user may use an asset managementsoftware application provided by the asset management system. The assetmanagement software application may receive the decoded data string, andmay provide the decoded data string to an input field of the assetmanagement software application. Because the decoded data string is notformatted based on the requirements of the asset management systemand/or the item identification protocol, the asset management softwareapplication may not be able to properly identify the item to which theindicia are attached based on the decoded data string.

In some examples, users may manually edit the decoded data string priorto the decoded data string being sent to a downstream device,application, or process. However, manual editing by the users can betechnically complex, error-prone and time-consuming. For example, theremay be hundreds to thousands of items to be tracked/identified in anasset management system. Manually editing the decoded data strings foreach of the hundreds to thousands of indicia can be impractical.Additionally, or alternatively, manual editing may consume and exhaustcomputing resources of the indicia data capturing device and the indiciadata editing device, and may reduce or limit the computing power orbandwidth of such devices.

In contrast, various embodiments of the present disclosure overcomethese technical difficulties and challenges, and provide varioustechnical improvements.

For example, various embodiments of the present disclosure provide anartificial intelligence (AI) based data editing engine that allows usersto conduct data editing on mobile devices (such as, but not limited to,indicia data editing devices described herein). In some embodiments, theAI based data editing engine is configured to learn data editing logicand to confirm the learned logic with users before applying the learnedlogic on future data received by scanning indicia.

In some embodiments, the AI-based data editing engine may be provided inthe form of a software plugin to a data editing software that has beeninstalled on the indicia data editing device, and therefore does notrequire any additional software or even internet connection. In someembodiments, the AI-based data editing engine may focus on the problemand the goal design in conducting data editing, instead of requiringusers to specify details of operations and processes of data editing.For example, the AI-based data editing engine may analyze the decodeddata string, analyze the input data string, and programmaticallygenerate a predictive indicia data editing model that includespredictive indicia data editing indications. The AI-based data editingengine provides mobility to users so that they can perform data editingby themselves on the field.

As such, various embodiments of the present disclosure may providetechnical advantages and improvements such as, but not limited to,reducing computing resources consumption in indicia data editing andimproving accuracy in processing indicia imaging data, details of whichare described herein.

FIG. 1 illustrates an example indicia data capturing and editingplatform 100 within which embodiments of the present disclosure mayoperate. In the example shown in FIG. 1 , the indicia data capturing andediting platform 100 may comprise an indicia data capturing device 105in electronic communication with one or more indicia data editingdevices 101A, 101B, . . . , 101N via a communication network 103. Insome embodiments, the indicia data capturing and editing platform 100may provide AI-based indicia data editing.

For example, the indicia data capturing and editing platform 100 maycapture and edit indicia data associated with the indicia 107. While theindicia 107 in the example shown in FIG. 1 comprises texts, numbers, anda QR code, it is noted that the scope of the present discourse is notlimited to the example shown in FIG. 1 . As described above, an exampleindicia in accordance with embodiments of the present disclosure mayinclude, but are not limited to, 1D barcodes, 2D barcodes,information-based indicia, Aztec codes, data matrix, and/or the like.

In some embodiments, a user may utilize the indicia data capturingdevice 105 of the indicia data capturing and editing platform 100 tocapture indicia imaging data associated with the indicia 107. Forexample, a user may trigger the indicia data capturing device 105 bypointing the indicia data capturing device 105 to the indicia 107 andpulling the trigger of the indicia data capturing device 105. In someembodiments, the indicia data capturing device 105 may comprise animaging component that comprises an imaging sensor. The imaging sensormay capture an image of the indicia 107, and may generate indiciaimaging data corresponding to the indicia 107. In some embodiments, theindicia data capturing device 105 may comprise an illumination componentthat may illuminate the field of view of the imaging sensor so as toimprove the imaging quality of the indicia imaging data.

In some embodiments, the indicia data capturing device 105 maycommunicate data and/or information (such as, but not limited to,indicia imaging data) to the one or more indicia data editing devices101A, 101B, . . . , 101N. In some embodiments, the communication network103 may include any wired or wireless communication network including,for example, a wired or wireless local area network (LAN), personal areanetwork (PAN), metropolitan area network (MAN), wide area network (WAN),or the like, as well as any hardware, software and/or firmware requiredto implement it (such as, e.g., network routers, etc.). For example, thecommunication network 103 may include an 802.11, 802.16, 802.20, and/orWiMax network. Further, the communication network 103 may include apublic network (such as the Internet), a private network (such as anintranet), or combinations thereof, and may utilize a variety ofnetworking protocols including, but not limited to, TCP/IP basednetworking protocols. For instance, the networking protocol may becustomized to suit the needs of the indicia data capturing device 105.In some embodiments, the protocol is a custom protocol of JSON objectssent via a Web Socket channel. In some embodiments, the protocol is JSONover RPC, JSON over REST/HTTP, and the like.

While the description above provides some examples of the communicationnetwork that can facilitate data communications between the indicia datacapturing device 105 and the indicia data editing devices 101A, 101B, .. . , 101N, it is noted that the scope of the present disclosure is notlimited to the description above. In some embodiments, the indicia datacapturing device 105 may communicate with the indicia data editingdevices 101A, 101B, . . . , 101N through other means. For example, theindicia data capturing device 105 may communicate with the indicia dataediting devices 101A, 101B, . . . , 101N through communication protocolssuch as, but not limited to, general packet radio service (GPRS),Universal Mobile Telecommunications System (UMTS), Code DivisionMultiple Access 1900 (CDMA1900), CDMA1900 1× (1×RTT), Wideband CodeDivision Multiple Access (WCDMA), Global System for MobileCommunications (GSM), Enhanced Data rates for GSM Evolution (EDGE), TimeDivision-Synchronous Code Division Multiple Access (TD-SCDMA), Long TermEvolution (LTE), Evolved Universal Terrestrial Radio Access Network(E-UTRAN), Evolution-Data Optimized (EVDO), High Speed Packet Access(HSPA), High-Speed Downlink Packet Access (HSDPA), Institute ofElectrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), Wi-FiDirect, 802.16 (WiMAX), ultra-wideband (UWB), infrared (IR) protocols,near field communication (NFC) protocols, Wibree, Bluetooth protocols,wireless universal serial bus (USB) protocols, and/or any other wirelessprotocol. The indicia data capturing device 105 may use such protocolsand standards to communicate using Border Gateway Protocol (BGP),Dynamic Host Configuration Protocol (DHCP), Domain Name System (DNS),File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), HTTPover TLS/SSL/Secure, Internet Message Access Protocol (IMAP), NetworkTime Protocol (NTP), Simple Mail Transfer Protocol (SMTP), Telnet,Transport Layer Security (TLS), Secure Sockets Layer (SSL), InternetProtocol (IP), Transmission Control Protocol (TCP), User DatagramProtocol (UDP), Datagram Congestion Control Protocol (DCCP), StreamControl Transmission Protocol (SCTP), HyperText Markup Language (HTML),and/or the like.

In some embodiments, the one or more indicia data editing devices 101A,101B, . . . 101N may receive indicia imaging data from the indicia datacapturing device 105, and may process the indicia imaging data togenerate one or more decoded data strings that correspond to the indicia107. Additionally, or alternatively, the indicia data capturing device105 may generate one or more decoded data strings based on the indiciaimaging data, and may transmit the one or more decoded data strings tothe one or more indicia data editing devices 101A, 101B, . . . , 101N.

In some embodiments, the one or more indicia data editing devices 101A,101B, . . . , 101N may generate a predictive indicia data editing modelthat defines predictive indicia data editing indication for editing theone or more decoded data strings. For example, the one or more indiciadata editing devices 101A, 101B, . . . , 101N may receive a decoded datastring corresponding to a first indicia, may receive a first input datastring corresponding to the first indicia, and may generate thepredictive indicia data editing model based at least in part onproviding the first decoded data string and the first input data stringto an artificial intelligence algorithm. In some embodiments, the one ormore indicia data editing devices 101A, 101B, . . . , 101N may update ascan setting module associated with the indicia data capturing device105 and/or the one or more indicia data editing devices 101A, 101B, . .. , 101N based at least in part on the predictive indicia data editingmodel, details of which are described herein.

The indicia data capturing device 105 of FIG. 1 may include one or morecomponents that are in electronic commutations with one another. Forexample, the indicia data capturing device 105 may comprise apparatus200 shown in FIG. 2 . The apparatus 200 may include a processor 210, amemory 208, a communications module 212, an imaging component 202, andan illumination component 204 that are in electronic communication withone another via a system bus 206. In some embodiments, the system bus206 refers to a computer bus that connects these components so as toenable data transfer and communications between these components.

In some embodiments, the imaging component 202 may comprise one or moreimaging sensors including, but are not limited to, a color or monochrome1D or 2D Charge Coupled Device (CCD), ComplementaryMetal-Oxide-Semiconductor (CMOS), N-channel Metal-Oxide-Semiconductor(NMOS), P-channel Metal-Oxide-Semiconductor (PMOS), Charge InjectionDevice (CID) or Charge Modulation Device (CMD) solid state image sensor,and/or the like. In some embodiments, the imaging component 202 maydefine a field of view for capturing an image of indicia and generatingindicia imaging data.

In some embodiments, the apparatus 200 may comprise an illuminationcomponent 204 that is configured to illuminate the field of view of theimaging component 202, so as to improve the quality of the capturedindicia imaging data. In some embodiments, the illumination component204 may include an illumination source and an illuminating opticsassembly. Examples of illuminating optics assemblies may include, butare not limited to, one or more lenses, diffusers, wedges, reflectors ora combination of such elements, for directing light from illuminationsource in the direction of the field of view. For example, if the imageof the indicia 107 shown in FIG. 1 is to be captured, the illuminatingoptics assembly may be configured to direct the light from theillumination source on the indicia 107. Some examples of theillumination source may include, but are not limited to, laser diodes(for example, violet laser diodes, visible laser diodes, edge-emittinglaser diodes, surface-emitting laser diodes, and/or the like.Additionally, or alternatively, the illumination source may comprise oneor more light-emitting diodes (LEDs). Additionally, or alternatively,the illumination source may comprise one or more other forms of naturaland/or artificial sources of light.

In some embodiments, the imaging component 202 and/or the illuminationcomponent 204 may be controlled by the processor 210. For example, theprocessor 210 may transmit electronic instructions to the illuminationcomponent 204 via the system bus 206 to trigger the illuminationcomponent 204 to illuminate the field of view of the imaging component202, may transmit electronic instructions to the imaging component 202to trigger the imaging component 202 to capture indicia imaging datathat include one or more images of the indicia, and may receive theindicia imaging data from the imaging component 202.

The processor 210 may be embodied in a number of different ways and may,for example, include one or more processing devices configured toperform independently. Additionally, or alternatively, the processor 210may include one or more processors configured in tandem via a bus toenable independent execution of instructions, pipelining, and/ormultithreading. The use of the term “processing circuitry” may beunderstood to include a single core processor, a multi-core processor,multiple processors internal to the apparatus, and/or remote or “cloud”processors.

For example, the processor 210 may be embodied as one or more complexprogrammable logic devices (CPLDs), microprocessors, multi-coreprocessors, co-processing entities, application-specific instruction-setprocessors (ASIPs), and/or controllers. Further, the processor 210 maybe embodied as one or more other processing devices or circuitry. Theterm circuitry may refer to an entirely hardware embodiment or acombination of hardware and computer program products. Thus, theprocessor 210 may be embodied as integrated circuits, applicationspecific integrated circuits (ASICs), field programmable gate arrays(FPGAs), programmable logic arrays (PLAs), hardware accelerators, othercircuitry, and/or the like. As will therefore be understood, theprocessor 210 may be configured for a particular use or configured toexecute instructions stored in volatile or non-volatile media orotherwise accessible to the processor 210. As such, whether configuredby hardware or computer program products, or by a combination thereof,the processor 210 may be capable of performing steps or operationsaccording to embodiments of the present disclosure when configuredaccordingly.

In an example embodiment, the processor 210 may be configured to executeinstructions stored in the memory 208 or otherwise accessible to theprocessor. Alternatively, or additionally, the processor 210 may beconfigured to execute hard-coded functionality. As such, whetherconfigured by hardware or software methods, or by a combination thereof,the processor may represent an entity (e.g., physically embodied incircuitry) capable of performing operations according to an embodimentof the present disclosure while configured accordingly. Alternatively,as another example, when the processor 210 is embodied as an executor ofsoftware instructions, the instructions may specifically configure theprocessor to perform the algorithms and/or operations described hereinwhen the instructions are executed.

In some embodiments, the memory 208 may be non-transitory and mayinclude, for example, one or more volatile and/or non-volatile memories.In other words, for example, the memory 208 may be an electronic storagedevice (e.g., a computer readable storage medium). The memory 208 may beconfigured to store information, data, content, applications,instructions, or the like, for enabling the apparatus 200 to carry outvarious functions in accordance with example embodiments of the presentdisclosure. In this regard, the memory 208 may be preconfigured toinclude computer-coded instructions (e.g., computer program code),and/or dynamically be configured to store such computer-codedinstructions for execution by the processor 210.

In an example embodiment, the apparatus 200 further includes acommunications module 212 that may enable the apparatus 200 to transmitthe indicia imaging data to other devices (such as, but not limited to,the indicia data editing devices 101A, 101B, . . . , 101N as shown inFIG. 1 ) through a communication network. The communications module 212may be any means such as a device or circuitry embodied in eitherhardware or a combination of hardware and software that is configured toreceive and/or transmit data from/to a network and/or any other device,circuitry, or module in communication with the apparatus 200. In thisregard, the communications module 212 may include, for example, anetwork interface for enabling communications with a wired or wirelesscommunication network. For example, the communications module 212 mayinclude one or more circuitries, network interface cards, antennae,buses, switches, routers, modems, and supporting hardware and/orsoftware, or any other device suitable for enabling communications via anetwork. Additionally, or alternatively, the communication interface mayinclude the circuitry for interacting with the antenna(s) to causetransmission of signals via the antenna(s) or to handle receipt ofsignals received via the antenna(s).

Some examples of the apparatus 200 may include, but are not limited to,an indicia scanner, a handheld scanner, a flatbed scanner, a camera,and/or any other device that is capable of capturing a plurality ofimages of the indicia and/or generating indicia imaging data of theindicia. Additionally, or alternatively, the apparatus 200 may be inother form(s) and/or may comprise other component(s).

The indicia data editing devices 101A-101N of FIG. 1 may include one ormore computing systems, such as the apparatus 300 shown in FIG. 3 . Theapparatus 300 may include a processor 301, a data storage 303, acommunications circuitry 305, an input/output circuitry 307, and/or adisplay 309. The apparatus 300 may be configured to execute theoperations described herein. Although the components are described withrespect to functional limitations, it should be understood that theparticular implementations necessarily include the use of particularhardware. It should also be understood that certain of the componentsdescribed herein may include similar or common hardware. For example,two sets of circuitries may both leverage use of the same processor,network interface, storage medium, or the like to perform theirassociated functions, such that duplicate hardware is not required foreach set of circuitries.

The use of the term “circuitry” as used herein with respect tocomponents of the apparatus should therefore be understood to includeparticular hardware configured to perform the functions associated withthe particular circuitry as described herein. The term “circuitry”should be understood broadly to include hardware and, in someembodiments, software for configuring the hardware. For example, in someembodiments, “circuitry” may include processing circuitry, storagemedia, network interfaces, input/output devices, and the like. In someembodiments, other elements of the apparatus 300 may provide orsupplement the functionality of particular circuitry. For example, theprocessor 301 may provide processing functionality, the data storage 303may provide storage functionality, the communications circuitry 305 mayprovide network interface functionality, and the like.

In one embodiment, the data storage 303 may further include or be incommunication with volatile media (also referred to as volatile storage,memory, memory storage, memory circuitry and/or similar terms usedherein interchangeably). In one embodiment, the volatile storage ormemory may also include, such as but not limited to, RAM, DRAM, SRAM,FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM,RIMM, DIMM, SIMM, VRAM, cache memory, register memory, and/or the like.As will be recognized, the data storage 303 may be used to store atleast portions of the databases, database instances, database managementsystem entities, data, applications, programs, program modules, scripts,source code, object code, byte code, compiled code, interpreted code,machine code, executable instructions, and/or the like being executedby, for example, the processor 301 as shown in FIG. 3 . Thus, thedatabases, database instances, database management system entities,data, applications, programs, program modules, scripts, source code,object code, byte code, compiled code, interpreted code, machine code,executable instructions, and/or the like may be used to control certainaspects of the operation of the indicia data editing device 101A withthe assistance of the processor 301 and operating system.

In one embodiment, the data storage 303 may further include or be incommunication with non-volatile media (also referred to as non-volatilestorage, memory, memory storage, memory circuitry and/or similar termsused herein interchangeably). In one embodiment, the non-data storage303 may include, such as, but not limited to, hard disks, ROM, PROM,EPROM, EEPROM, flash memory, MMCs, SD memory cards, Memory Sticks,CBRAM, PRAM, FeRAM, RRAM, SONOS, racetrack memory, and/or the like. Aswill be recognized, the data storage 303 may store databases, databaseinstances, database management system entities, data, applications,programs, program modules, scripts, source code, object code, byte code,compiled code, interpreted code, machine code, executable instructions,and/or the like. The term database, database instance, databasemanagement system entity, and/or similar terms used hereininterchangeably and in a general sense to may refer to a structured orunstructured collection of information/data that is stored in acomputer-readable storage medium.

In various embodiments of the present disclosure, the data storage 303may also be embodied as a data storage device or devices, as a separatedatabase server or servers, or as a combination of data storage devicesand separate database servers. Further, in some embodiments, datastorage 303 may be embodied as a distributed repository such that someof the stored information/data is stored centrally in a location withinthe system and other information/data is stored in one or more remotelocations. Alternatively, in some embodiments, the distributedrepository may be distributed over a plurality of remote storagelocations only. An example of the embodiments contemplated herein wouldinclude a cloud data storage system maintained by a third-party providerand where some or all of the information/data required for the operationof the recovery system may be stored. Further, the information/datarequired for the operation of the recovery system may also be partiallystored in the cloud data storage system and partially stored in alocally maintained data storage system. More specifically, data storage303 may encompass one or more data stores configured to storeinformation/data usable in certain embodiments.

In the example as shown in FIG. 3 , one or more modules may be part ofthe data storage 303. In the present disclosure, the term “module”refers to one or more data storage units in the data storage 303 thatmay store executable computer program instructions. When the executablecomputer program instructions stored in a module are executed by aprocessing circuitry (such as, but not limited to, the processor 301shown in FIG. 3 ), the executable computer program instructions maycause the processing circuitry to perform one or more functions. In theexample shown in FIG. 3 , the data storage 303 may comprise a scansetting module 311 and a keyboard module 317.

In some embodiments, the scan setting module 311 may comprise executablecomputer program instructions that define scan settings of one or moreindicia data capturing devices (for example, the indicia data capturingdevice 105 shown in FIG. 1 and FIG. 2 ) and/or one or more indicia dataediting devices (for example, the indicia data editing device 101A shownin FIG. 1 and FIG. 3 ). For example, the scan settings may include, butnot limited to, symbology settings (which may define a symbology type ofthe scanned indicia), trigger settings (which may define what operationto take place when the trigger of the indicia data capturing device isactivated), and/or the like.

In the example shown in FIG. 3 , the scan setting module 311 maycomprise a data processing model 313. In some embodiments, the dataprocessing model 313 refers to computer program instructions stored inthe scan setting module 311 that define the processing operations on theindicia imaging data. For example, the data processing model 313 maydefine how to decode the indicia imaging data to generate a decoded datastring. As an example, the indicia imaging data may comprise one or moredigital images of the indicia, and each of the one or more digitalimages may comprise areas with different light intensities. In someembodiments, the data processing model 313 may define one or more lightintensity thresholds, and may compare the light intensities in differentareas of the digital images with the light intensity thresholds togenerate the decoded data string.

While the description above provides an example of generating decodeddata string based on the indicia imaging data, it is noted that thescope of the present disclosure is not limited to the description above.In some examples, an example method may implement one or more additionaland/or alternative steps to generate the decoded data string.

As described above, the decoded data string may not satisfy the dataformatting requirements by a specific user and/or for a specific usecase. In some embodiments, the data processing model 313 may furtherprocess the decoded data string to generate a predictive data string,and may transmit the predictive data string to the keyboard module.

In some embodiments, the data processing model 313 may comprise apredictive indicia data editing model 315. In some embodiments, thepredictive indicia data editing model 315 refers to an artificialintelligence and/or machine learning model that programmaticallydetermines predictive indicia data editing indications for the decodeddata string, applies the predictive indicia data editing indications tothe decoded data string to generate a predictive data string thatsatisfies the formatting requirements by the users and/or for the usecases. Additional details of generating the predictive indicia dataediting model 315 are described herein, including, but not limited to,those described in connection with at least FIG. 4 to FIG. 8 herein.

As described above, the data processing model 313 may transmit processeddata (such as, but not limited to, decoded data string, predictive datastring) to the keyboard module 317. In some embodiments, the keyboardmodule 317 refers to computer program instructions stored in the datastorage 303 that translate the processed data into keyboard strokes.

For example, the keyboard module 317 intercepts the processed data fromthe data processing model 313, and translates them into keyboardstrokes. In some embodiments, the keyboard module 317 may furtherprovide or transmit the translated keyboard strokes to the input/outputcircuitry 307 and/or to the processor 301. In some embodiments, datasent through the keyboard module 317 appears as if it was typed into theapparatus 300 through the input/output circuitry 307, while theinput/output circuitry 307 (for example, the physical keyboard) itselfremains fully functional.

In some embodiments, the apparatus 300 may execute a softwareapplication that comprises one or more input fields (for example, one ormore input boxes on the user interface). In such embodiments, thekeyboard module 317 may provide the processed data from the dataprocessing model 313 as inputs to the one or more input fields.

In some embodiments, a keyboard module may additionally and/oralternatively be part of a computer or a smartphone. In such examples,the computer and/or the smartphone using the keyboard module cannot tellthe difference between data that is “entered” by a scanning device (suchas the indicia data capturing device and/or the indicia data editingdevice described herein) or data that is entered by typing on thephysical keyboard. As such, the keyboard module can be used to easilyadd barcode reading capability to an existing device without modifyingsoftware applications.

While the description above describes examples of the scan settingmodule and the keyboard module as software-based applications, it isnoted that the scope of the present disclosure is not limited to thedescription above. In some examples, examples of scan setting modulesand keyboard modules may comprise hardware based elements. For example,the scan setting module may be an inserted hardware component in theindicia data capturing device and/or indicia data editing device thatcontrols the processing operations of the decoded data string asdescribed herein. Additionally, or alternatively, the keyboard modulemay be an inserted hardware component in the indicia data capturingdevice and/or indicia data editing device that translates processed datafrom the data processing model into keyboard strokes, similar to thosedescribed herein.

In some embodiments, the processor 301 (and/or co-processor or any otherprocessing circuitry assisting or otherwise associated with theprocessor) may be in communication with the data storage 303 via a busfor passing information among components of the apparatus. The processor301 may be embodied in a number of different ways and may, for example,include one or more processing devices configured to performindependently. Additionally, or alternatively, the processor 301 mayinclude one or more processors configured in tandem via a bus to enableindependent execution of instructions, pipelining, and/ormultithreading. The use of the term “processing circuitry” may beunderstood to include a single core processor, a multi-core processor,multiple processors internal to the apparatus, and/or remote or “cloud”processors.

For example, the processor 301 may be embodied as one or more complexprogrammable logic devices (CPLDs), microprocessors, multi-coreprocessors, co-processing entities, application-specific instruction-setprocessors (ASIPs), and/or controllers. Further, the processor 301 maybe embodied as one or more other processing devices or circuitry. Theterm circuitry may refer to an entirely hardware embodiment or acombination of hardware and computer program products. Thus, theprocessor 301 may be embodied as integrated circuits, applicationspecific integrated circuits (ASICs), field programmable gate arrays(FPGAs), programmable logic arrays (PLAs), hardware accelerators, othercircuitry, and/or the like. As will therefore be understood, theprocessor 301 may be configured for a particular use or configured toexecute instructions stored in volatile or non-volatile media orotherwise accessible to the processor 301. As such, whether configuredby hardware or computer program products, or by a combination thereof,the processor 301 may be capable of performing steps or operationsaccording to embodiments of the present disclosure when configuredaccordingly.

In an example embodiment, the processor 301 may be configured to executeinstructions stored in the data storage 303 or otherwise accessible tothe processor. Alternatively, or additionally, the processor 301 may beconfigured to execute hard-coded functionality. As such, whetherconfigured by hardware or software methods, or by a combination thereof,the processor may represent an entity (e.g., physically embodied incircuitry) capable of performing operations according to an embodimentof the present disclosure while configured accordingly. Alternatively,as another example, when the processor 301 is embodied as an executor ofsoftware instructions, the instructions may specifically configure theprocessor to perform the algorithms and/or operations described hereinwhen the instructions are executed.

In some embodiments, the apparatus 300 may include the input/outputcircuitry 307 that may, in turn, be in communication with the processor301 to provide output to the user and, in some embodiments, to receivean indication of a user input. The input/output circuitry 307 maycomprise an interface, a mobile application, a kiosk, or the like. Insome embodiments, the input/output circuitry 307 may also include akeyboard, a mouse, a joystick, a touch screen, touch areas, soft keys, amicrophone, a speaker, or other input/output mechanisms. The processorand/or user interface circuitry comprising the processor may beconfigured to control one or more functions of one or more userinterface elements through computer program instructions (e.g., softwareand/or firmware) stored on a memory accessible to the processor (e.g.,the data storage 303, and/or the like).

In some embodiments, the apparatus 300 may include the display 309 thatmay, in turn, be in communication with the processor 301 to display userinterfaces (such as, but not limited to, predictive indicia data editinguser interfaces). In various examples of the present disclosure, thedisplay 309 may include a liquid crystal display (LCD), a light-emittingdiode (LED) display, a plasma (PDP) display, a quantum dot (QLED)display, and/or the like.

The communications circuitry 305 may be any means such as a device orcircuitry embodied in either hardware or a combination of hardware andsoftware that is configured to receive and/or transmit data from/to anetwork and/or any other device, circuitry, or module in communicationwith the apparatus 300. In this regard, the communications circuitry 305may include, for example, a network interface for enablingcommunications with a wired or wireless communication network and/or inaccordance with a variety of networking protocols described herein. Forexample, the communications circuitry 305 may include one or morenetwork interface cards, antennae, buses, switches, routers, modems, andsupporting hardware and/or software, or any other device suitable forenabling communications via a network. Additionally, or alternatively,the communication interface may include the circuitry for interactingwith the antenna(s) to cause transmission of signals via the antenna(s)or to handle receipt of signals received via the antenna(s).

It is also noted that all or some of the information discussed hereincan be based on data that is received, generated and/or maintained byone or more components of apparatus 300. In some embodiments, one ormore external systems (such as a remote cloud computing and/or datastorage system) may also be leveraged to provide at least some of thefunctionality discussed herein.

Reference will now be made to FIG. 4 to FIG. 8 , which provideflowcharts and diagrams illustrating example steps, processes,procedures, and/or operations in accordance with various embodiments ofthe present disclosure. FIG. 9A to FIG. 11C provide example views ofinteractive user interfaces in accordance with various embodiments ofthe present disclosure.

While example embodiments of the present disclosure may be described inthe context of capturing data from indicia (such as, but not limited to,barcodes, QR codes, and/or the like) and editing such data, a person ofordinary skill in the relevant technology will recognize thatembodiments of the present disclosure are not limited to this contextonly.

Various methods described herein, including, for example, examplemethods as shown in FIG. 4 to FIG. 8 , may provide various technicalbenefits and improvements. It is noted that each block of the flowchart,and combinations of blocks in the flowchart, may be implemented byvarious means such as hardware, firmware, circuitry and/or other devicesassociated with execution of software including one or more computerprogram instructions. For example, one or more of the proceduresdescribed in FIG. 4 to FIG. 8 may be embodied by computer programinstructions, which may be stored by a non-transitory memory of anapparatus employing an embodiment of the present disclosure and executedby a processor in the apparatus. These computer program instructions maydirect a computer or other programmable apparatus to function in aparticular manner, such that the instructions stored in thecomputer-readable storage memory produce an article of manufacture, theexecution of which implements the function specified in the flowchartblock(s).

As described above and as will be appreciated based on this disclosure,embodiments of the present disclosure may be configured as methods,mobile devices, backend network devices, and the like. Accordingly,embodiments may comprise various means including entirely of hardware orany combination of software and hardware. Furthermore, embodiments maytake the form of a computer program product on at least onenon-transitory computer-readable storage medium having computer-readableprogram instructions (e.g., computer software) embodied in the storagemedium. Similarly, embodiments may take the form of a computer programcode stored on at least one non-transitory computer-readable storagemedium. Any suitable computer-readable storage medium may be utilizedincluding non-transitory hard disks, CD-ROMs, flash memory, opticalstorage devices, or magnetic storage devices.

Referring now to FIG. 4 , an example method 400 is illustrated. In someembodiments, the example method 400 may generate a predictive indiciadata editing model and update a scan setting module based at least inpart on the predictive indicia data editing model.

The example method 400 starts at step/operation 402. Subsequent toand/or in response to step/operation 402, the example method 400proceeds to step/operation 404. At step/operation 404, a processor (suchas, but not limited to, the processor 301 of the indicia data editingdevice 101A described above in connection with FIG. 1 and FIG. 3 )determines a first decoded data string corresponding to the firstindicia.

In some embodiments, the processor may determine the first decoded datastring corresponding to a first indicia based at least in part on a dataprocessing model associated with a scan setting module.

As described above, the scan setting module may comprise executablecomputer program instructions that define the scan settings of one ormore indicia data capturing devices and/or one or more indicia dataediting devices. In some embodiments, the scan setting module mayinclude a data processing model that not only defines how to decode theindicia imaging data to generate a decoded data string, but also defineshow to further process the decoded data string so as to satisfy the dataformatting requirements by the users and/or for the specific use cases.

For example, the scan setting module may define scan settings associatedwith the indicia data capturing device. As described above, the indiciadata capturing device may generate indicia imaging data based at leastin part on capturing image data associated with indicia. The indiciadata capturing device may decode the indicia imaging data based ondecode settings associated with the scan setting module and/or the dataprocessing model to generate the decoded data string.

Additionally, or alternatively, the scan setting module may define scansettings associated with the indicia data editing device. In such anexample, the indicia data capturing device may transmit the indiciaimaging data to the indicia data editing device, and the indicia dataediting device may generate one or more decoded data strings based onthe indicia imaging data. For example, prior to step/operation 404 (e.g.prior to determining the first decoded data string), the example method400 may include one or more additional steps/operations.

In the example shown in FIG. 4 , subsequent to and/or in response tostep/operation 402 and prior to step/operation 404, the example method400 may proceed to step/operation 414. At step/operation 414, aprocessor (such as, but not limited to, the processor 301 of the indiciadata editing device 101A described above in connection with FIG. 1 andFIG. 3 ) receives indicia imaging data.

In some embodiments, the processor may receive indicia imaging dataassociated with the first indicia from an indicia data capturing device.Referring back to FIG. 1 , the indicia data capturing device 105 maycapture one or more images of the indicia 107, and may generate indiciaimaging data based on the one or more images. In some embodiments, theindicia data capturing device 105 may transmit the indicia imaging datato the one or more indicia data editing devices 101A, 101B, . . . , 101Nthrough the communication network 103.

Referring back to FIG. 4 , subsequent to and/or in response tostep/operation 414, the example method 400 proceeds to step/operation416. At step/operation 416, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) generates the first decodeddata string.

In some embodiments, the processor may generate the first decoded datastring based at least in part on the indicia imaging data and the dataprocessing model.

For example, the scan setting module may define scan settings associatedwith the indicia data editing device. As described above, the scansetting module may include a data processing model that defines how todecode the indicia imaging data to generate a decoded data string. Insome embodiments, the indicia data editing device may decode the indiciaimaging data based on decode settings associated with the scan settingmodule to generate the decoded data string.

While the description above provides an example of the indicia dataediting device decoding the indicia imaging data, it is noted that thescope of the present disclosure is not limited to the description above.For example, the indicia data capturing device may generate the decodeddata string based on the indicia imaging data, and may transmit thedecoded data string to the indicia data editing device. Doing so mayreduce the computing processing needed on the indicia data editingdevice while increasing the speed of generating predictive data stringsthat satisfy the formatting requirements by the users and/or for the usecases, as described herein.

Referring back to FIG. 4 , subsequent to and/or in response tostep/operation 416, the example method 400 returns to step/operation404.

In some embodiments, subsequent to and/or in response to step/operation404, the example method 400 proceeds to step/operation 406. Atstep/operation 406, a processor (such as, but not limited to, theprocessor 301 of the indicia data editing device 101A described above inconnection with FIG. 1 and FIG. 3 ) determines a first input data stringcorresponding to the first indicia.

In some embodiments, the processor determines the first input datastring corresponding to the first indicia based at least in part on userinput data. For example, a user may provide input that indicates adesired data string corresponding to the first indicia. In someembodiments, the first input data string satisfies theediting/formatting requirements by the user and/or according to the usecase.

As described above in connection with at least FIG. 3 , an exampleindicia data editing device in example embodiments of the presentdisclosure may comprise an input/output circuitry. In some embodiments,the user input data may be generated based on the user inputs via theinput/output circuitry.

In some embodiments, the first decoded data string represents the rawdata and/or information that is decoded from the first indicia. As anexample, the first decoded data string corresponding to the firstindicia that is determined by the processor at step/operation 404 may beas follows:

-   -   ABC1234567890

Continuing this example, the first input data string determined atstep/operation 406 may be as follows:

-   -   123456789Z

In some embodiments, the first input data string represents a datastring that corresponds to the first indicia and satisfies theediting/formatting requirements by the user.

Referring back to FIG. 4 , subsequent to and/or in response tostep/operation 406, the example method 400 proceeds to step/operation408. At step/operation 408, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) generates a predictiveindicia data editing model.

In some embodiments, the processor generates the predictive indicia dataediting model based at least in part on providing the first decoded datastring that is determined at step/operation 404 and the first input datastring that is determined at step/operation 406 to an artificialintelligence algorithm.

In some embodiments, the predictive indicia data editing model definesat least one predictive indicia data editing indication. In someembodiments, the at least one predictive indicia data editing indicationcomprises at least one predictive editing applicability indication andat least one predictive editing operation indication.

In some embodiments, the at least one predictive editing operationindication defines at least one indicia data editing operation based onthe first decoded data string and the first input data string. Forexample, the at least one indicia data editing operation defines how totransform the decoded data string into the input data string.

Continuing from the example above where the first decoded data string is“ABC1234567890” and the first input data string is “123456789Z,” thepredictive indicia data editing model may define the followingpredictive editing operation indications:

1. Remove all first 3 digits; and

2. Change the last digit to “Z”.

In some embodiments, the predictive indicia data editing model definesat least one predictive editing applicability indication. For example,the at least one predictive editing applicability indication defines atleast one characteristic requirement based on the first decoded datastring. For example, the at least one predictive editing applicabilityindication defines what characteristic of the decoded data string isrequired for the predictive indicia data editing model to be applied onthe decoded data string.

Continuing from the example above where the first decoded data string is“ABC1234567890” and the first input data string is “123456789Z,” thepredictive indicia data editing model may define the followingpredictive editing applicability indications:

1. Apply to CODE 128; and

2. Apply to LENGTH=13.

As described above, the processor may generate the predictive indiciadata editing model based at least in part on providing the first decodeddata string and the first input data string to an artificialintelligence algorithm.

In some embodiments, the artificial intelligence algorithm comprises atleast one pattern matching algorithm or pattern recognition algorithm.For example, the artificial intelligence algorithm comprises at leastone regular expression algorithm. The regular expression algorithm may,for example, conduct pattern searching in the decoded data string toidentify patterns in the decoded data string so as to generate thepredictive editing applicability indication. Additionally, oralternatively, the regular expression algorithm may conduct patternsearching in both the first decoded data string and the first input datastring, determine similarities and differences between patterns in thefirst decoded data string and patterns in the first input data string,and generate the at least one predictive editing operation indicationbased at least in part on the similarities and differences.

While the description above provides an example of a regular expressionalgorithm as an example of the artificial intelligence algorithm that isused to generate the predictive indicia data editing model, it is notedthat the scope of the present disclosure is not limited to thedescription above. In some examples, one or more additional and/oralternative artificial intelligence algorithms may be utilized togenerate the predictive indicia data editing model.

For example, various embodiments of the present disclosures mayimplement artificial intelligence and/or machine learning algorithmsthat include, but are not limited to, Linear Regression algorithm,Logistic Regression algorithm, Decision Tree algorithm, support vectormachine (SVM) algorithm, Naive Bayes algorithm, k-nearest neighbors(KNN) algorithm, K-Means algorithm, Random Forest algorithm, recurrentneural network (RNN) algorithm, generative adversarial network (GAN)algorithm, artificial neural network, and/or the like, to generate thepredictive indicia data editing model.

While the description above provides an example of training theartificial intelligence and/or machine learning algorithms based on thefirst decoded data string and the first input data string, it is notedthat the scope of the present disclosure is not limited to thedescription above. In some examples, an example method may train theartificial intelligence and/or machine learning algorithms based on, forexample but not limited to, training dataset that include a plurality ofdecoded data strings and a plurality of input data strings.

Referring back to FIG. 4 , subsequent to and/or in response tostep/operation 408, the example method 400 proceeds to step/operation410. At step/operation 410, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) updates the scan settingmodule.

In some embodiments, the processor may update the scan setting modulebased at least in part on the predictive indicia data editing model. Forexample, the processor may update the data processing model of the scansetting module so as to include the predictive indicia data editingmodel generated at step/operation 408. In such an example, the dataprocessing model may include the at least one predictive editingapplicability indication and the at least one predictive editingoperation indication of the predictive indicia data editing model.

In some embodiments, the data processing model may apply the at leastone predictive editing operation indication on future decoded datastrings that satisfy the at least one predictive editing applicabilityindication to generate predictive data strings. In some embodiments, thedata processing model may transmit the predictive data strings to akeyboard module.

Continuing from the example above, the processor may determine a seconddecoded data string as follows:

-   -   ABC1234567880

In this example, the processor may determine that the second decodeddata string satisfies the at least one predictive editing applicabilityindication (e.g. the second decoded data string is based on CODE 128 andhas a length of 13 characters). The processor may apply the at least onepredictive editing operation indication (remove all first 3 digits andchange the last digit to “Z”) on the second decoded data string, andgenerates the following predictive data string:

-   -   123456788Z

In some embodiments, the processor may transmit the predictive datastring to a keyboard module.

As described above, the scan setting module may comprise executablecomputer program instructions that define the scan settings of one ormore indicia data capturing devices (for example, the indicia datacapturing device 105 shown in FIG. 1 ) and/or one or more indicia dataediting devices (for example, the indicia data editing device 101A shownin FIG. 1 and FIG. 3 ). In various embodiments of the presentdisclosure, decoding the indicia imaging data to generate a decoded datastring and/or generating a predictive data string based on the decodeddata string may be carried out by the indicia data capturing device, bythe indicia data editing device, and/or by a combination of indicia datacapturing device and indicia data editing device.

For example, the scan setting module may define the scan settings of anindicia data capturing device. In some embodiments, the indicia datacapturing device may load the updated scan setting module, may captureindicia imaging data that is associated with an indicia, may generate adecoded data string based on the indicia imaging data, and may processthe decoded data string based on the predictive indicia data editingmodel to generate the predictive data string.

Additionally, or alternatively, the indicia data capturing device maycapture indicia imaging data that is associated with an indicia and maygenerate a decoded data string based on the indicia imaging data and thescan setting module. In some embodiments, the indicia data capturingdevice may transmit the decoded data string to an indicia data editingdevice, and the indicia data editing device may process the decoded datastring based on the predictive indicia data editing model to generate apredictive data string.

Additionally, or alternatively, the indicia data capturing device maycapture indicia imaging data that is associated with an indicia andtransmit the indicia imaging data to an indicia data editing device. Insome embodiments, the indicia data editing device may generate a decodeddata string based on the indicia imaging data and the scan settingmodule. In some embodiments, the indicia data editing device may processthe decoded data string based on the predictive indicia data editingmodel to generate a predictive data string.

Referring back to FIG. 4 , subsequent to and/or in response tostep/operation 410, the example method 400 proceeds to step/operation412 and ends.

While the description above provides an example method of generating apredictive indicia data editing model and updating the scan settingmodule based at least in part on the predictive indicia data editingmodel, it is noted that the scope of the present disclosure is notlimited to the description above. In some examples, an example methodmay comprise one or more additional and/or alternative steps/operations.For example, subsequent to generating the predictive indicia dataediting model, various embodiments of the present disclosure may providean AI based data editor interface (for example, but not limited to, apredictive indicia data editing user interface) to confirm the learnedlogic of data editing with users (for example, but not limited to, toconfirm the at least one predictive indicia data editing indication ofthe predictive indicia data editing model) before applying the learnedlogic of data editing on future data received by scanning indicia.

For example, referring now to FIG. 5 , an example method 500 isillustrated. In some embodiments, the example method 500 may beimplemented prior to updating the scan setting module (for example,prior to step/operation 410 of FIG. 4 ). For example, the example method500 describes updating the scan setting model in response to receiving auser selection input data associated with the at least one confirmbutton user interface element on the predictive indicia data editinguser interface.

The example method 500 starts at step/operation 501. Subsequent toand/or in response to step/operation 501, the example method 500proceeds to step/operation 503. At step/operation 503, a processor (suchas, but not limited to, the processor 301 of the indicia data editingdevice 101A described above in connection with FIG. 1 and FIG. 3 )renders a predictive indicia data editing user interface.

In the present disclosure, the term “predictive indicia data editinguser interface” refers to a user interface that is rendered on a displayof an indicia data editing device that provides AI-based indicia dataediting.

For example, as described above in connection with at least FIG. 4 ,various embodiments of the present disclosure may generate a predictiveindicia data editing model based at least in part on an AI algorithm. Asdescribed above, the predictive indicia data editing model defines atleast one predictive indicia data editing indication. In someembodiments, the processor may generate at least one predictive indiciadata editing user interface element on the predictive indicia dataediting user interface that corresponds to and is based on the at leastone predictive indicia data editing indication.

In some embodiments, at least one predictive indicia data editingindication comprises at least one predictive editing applicabilityindication and at least one predictive editing operation indication. Asan example, the predictive indicia data editing model may define thefollowing predictive editing operation indications:

1. Remove all first 3 digits; and

2. Change the last digit to “Z”.

The predictive indicia data editing model may also define the followingpredictive editing applicability indications:

1. Apply to CODE 128; and

2. Apply to LENGTH=13.

In this example, the processor may generate a predictive indicia dataediting user interface element for each of the predictive editingoperation indications and for each of the predictive editingapplicability indications. For example, the predictive indicia dataediting user interface element may comprise texts that describe thecorresponding predictive editing operation indication and/or thecorresponding predictive editing applicability indication.

In some embodiments, the processor may generate additional userinterface elements that allow a user to confirm or edit the at least onepredictive indicia data editing indication. For example, the processormay generate at least one confirm button user interface elementcorresponding to the at least one predictive indicia data editing userinterface element, as well as at least one edit button user interfaceelement corresponding to the at least one predictive indicia dataediting user interface element. In some embodiments, the confirm buttonuser interface elements and the edit button user interface elements maybe in the form of user selectable buttons on the user interface.

In some embodiments, when the user clicks, taps or otherwise selects theat least one confirm button user interface element, the processor mayreceive user selection input data associated with the at least oneconfirm button user interface element that indicates a user confirmationof the at least one predictive indicia data editing indication. In someembodiments, when the user clicks, taps or otherwise selects the atleast one edit button user interface element, the processor may receiveuser selection input data associated with the at least one edit buttonuser interface element that indicates a user request to edit the atleast one predictive indicia data editing indication.

Continuing from the example above, the processor may generate a confirmbutton user interface element and an edit button user interface elementfor each of the predictive indicia data editing user interface elements.In some embodiments, the confirm button user interface element and theedit button user interface element may be positioned adjacent to thecorresponding predictive indicia data editing user interface element.Examples are illustrated in at least FIG. 11B and FIG. 11C.

Referring back to FIG. 5 , subsequent to and/or in response tostep/operation 503, the example method 500 proceeds to step/operation505. At step/operation 505, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) receives user selectioninput data associated with the at least one confirm button userinterface element.

In some embodiments, when the user clicks, taps or otherwise selects theat least one confirm button user interface element, the processor mayreceive user selection input data associated with the at least oneconfirm button user interface element that indicates a user confirmationof the at least one predictive indicia data editing indication. Forexample, the user selection input data may indicate that the userconfirms and/or approves the at least one predictive indicia dataediting indication associated with the at least one predictive indiciadata editing user interface element that is positioned adjacent to theat least one confirm button user interface element.

Referring back to FIG. 5 , subsequent to and/or in response tostep/operation 505, the example method 500 proceeds to step/operation507. At step/operation 507, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) updates the scan settingmodule based at least in part on the at least one predictive indiciadata editing indication.

In some embodiments, the processor updates the scan setting module inresponse to receiving the user selection input data associated with theat least one confirm button user interface element at step/operation505.

For example, in response to receiving the user selection input data, theprocessor determines that the user confirms and/or approves thecorresponding predictive indicia data editing indication defined by thepredictive indicia data editing model. In some embodiments, theprocessor may update the scan setting module to include thecorresponding predictive indicia data editing indication, similar tothose described above in connection with at least step/operation 410 ofFIG. 4 .

Referring back to FIG. 5 , subsequent to and/or in response tostep/operation 507, the example method 500 proceeds to step/operation509 and ends.

Referring now to FIG. 6 , an example method 600 is illustrated. In someembodiments, the example method 600 may be implemented prior to updatingthe scan setting module (for example, prior to step/operation 410 ofFIG. 4 ). For example, the example method 600 describes updates the scansetting model based on receiving user edit input data associated withthe at least one edit option user interface element on the predictiveindicia data editing user interface.

The example method 600 starts at step/operation 602. Subsequent toand/or in response to step/operation 602, the example method 600proceeds to step/operation 604. At step/operation 604, a processor (suchas, but not limited to, the processor 301 of the indicia data editingdevice 101A described above in connection with FIG. 1 and FIG. 3 )renders a predictive indicia data editing user interface.

In some embodiments, the processor may render the predictive indiciadata editing user interface similar to those described above inconnection with at least step/operation 503 of FIG. 5 .

Referring back to FIG. 6 , subsequent to and/or in response tostep/operation 604, the example method 600 proceeds to step/operation606. At step/operation 606, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) receives user selectioninput data associated with the at least one edit button user interfaceelement.

In some embodiments, when the user clicks, taps or otherwise selects theat least one edit button user interface element, the processor mayreceive user selection input data associated with the at least one editbutton user interface element that indicates a user request to edit theat least one predictive indicia data editing indication. For example,the user selection input data may indicate that the user requests toedit the at least one predictive indicia data editing indicationassociated with the at least one predictive indicia data editing userinterface element that is positioned adjacent to the at least one editbutton user interface element.

Referring back to FIG. 6 , subsequent to and/or in response tostep/operation 606, the example method 600 proceeds to step/operation608. At step/operation 608, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) renders an updatedpredictive indicia data editing user interface.

In some embodiments, the processor renders an updated predictive indiciadata editing user interface in response to receiving the user selectioninput data at step/operation 606. In some embodiments, the updatedpredictive indicia data editing user interface comprises at least oneedit option user interface element.

As described above, the user selection input data associated with the atleast one edit button user interface element indicates a user request toedit or change the corresponding predictive indicia data editingindication. In such an example, the at least one edit option userinterface element on the updated predictive indicia data editing userinterface may display edit options associated with the correspondingpredictive indicia data editing indication.

For example, the processor may receive user selection input dataassociated with an edit button user interface element that is positionedadjacent to a predictive indicia data editing user interface elementcorresponding to a predictive editing applicability indicationassociated with the symbology type. In such an example, the processormay render an updated predictive indicia data editing user interfacethat includes an edit option user interface element in the form of adrop-down menu user interface element. The drop-down menu user interfaceelement may include options such as, but not limited to, Code 11, Code128/ISBT 128, Codebar, Codeblock F, and/or the like.

Referring back to FIG. 6 , subsequent to and/or in response tostep/operation 608, the example method 600 proceeds to step/operation610. At step/operation 610, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) receives user edit inputdata associated with the at least one edit option user interfaceelement.

In some embodiments, the user edit input data can be associated with oneof the options displayed in the at least one edit option user interfaceelement. Continuing from the example above, the processor may receiveuser edit input data associated with one of the options displayed in thedrop-down menu user interface element. For example, the user may click,tap, and/or other select the option for Code 128/ISBT 128.

While the description above provides an example of the edit option userinterface element in the form of a drop-down menu user interfaceelement, it is noted that the scope of the present disclosure is notlimited to the description above. In some examples, an example editoption user interface element may comprise one or more additional and/oralternative elements. For example, an example edit option user interfaceelement may comprise an input box, a button (including text buttons,radio buttons, toggle buttons), and/or the like.

Referring back to FIG. 6 , subsequent to and/or in response tostep/operation 610, the example method 600 proceeds to step/operation612. At step/operation 612, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) generates at least oneupdated predictive indicia data editing indication.

In some embodiments, the processor may generate the at least one updatedpredictive indicia data editing indication based at least in part on theat least one predictive indicia data editing indication, as well as theuser edit input data received at step/operation 610. For example, theprocessor may change, adjust and/or revise the at least one predictiveindicia data editing indication based at least in part on the user editinput data received at step/operation 610.

Continuing from the example above, in response to receiving the useredit input data that indicates the user has clicked, tapped, and/orother selected the option for Code 128/ISBT 128, the processor maygenerate an updated predictive editing applicability indication on thesymbology type to indicate Code 128/ISBT 128.

Referring back to FIG. 6 , subsequent to and/or in response tostep/operation 612, the example method 600 proceeds to step/operation614. At step/operation 614, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) updates the scan settingmodule.

In some embodiments, the processor may update the scan setting modulebased at least in part on the at least one updated predictive indiciadata editing indication that is generated at step/operation 612.

For example, subsequent to generating the at least one updatedpredictive indicia data editing indication, the processor may update thescan setting module to include the at least one updated predictiveindicia data editing indication, similar to those described above inconnection with at least step/operation 410 of FIG. 4 .

Referring back to FIG. 6 , subsequent to and/or in response tostep/operation 614, the example method 600 proceeds to step/operation616 and ends.

Referring now to FIG. 7 , an example method 700 is illustrated. In someembodiments, the example method 700 may be implemented prior to updatingthe scan setting module (for example, prior to step/operation 410 ofFIG. 4 ). For example, the example method 700 describes updating thescan setting model based on receiving user edit input data associatedwith at least one of a prefix editing user interface element, a suffixediting user interface element, and/or a symbology ID editing userinterface element.

The example method 700 starts at step/operation 701. Subsequent toand/or in response to step/operation 701, the example method 700proceeds to step/operation 703. At step/operation 703, a processor (suchas, but not limited to, the processor 301 of the indicia data editingdevice 101A described above in connection with FIG. 1 and FIG. 3 )receives user edit input data associated with at least one of the prefixediting user interface element, the suffix editing user interfaceelement, and/or the symbology ID editing user interface element.

In some embodiments, the processor may render one or more user interfaceelements on the predictive indicia data editing user interface thatallow users to add and/or define predictive indicia data editingindications (including predictive editing applicability indications andpredictive editing operation indications), in addition to the at leastone predictive indicia data editing indication defined by the predictiveindicia data editing model.

For example, the processor may render the predictive indicia dataediting user interface that comprises at least one of a prefix editinguser interface element, a suffix editing user interface element, and/ora symbology ID editing user interface element.

In some embodiments, the prefix editing user interface element refers toan user interface element that allows a user to add a prefix to thepredictive data string. For example, the prefix editing user interfaceelement may be in the form of a drop-down menu, an input box, a button(including text buttons, radio buttons, toggle buttons), and/or thelike.

Additionally, or alternatively, the suffix editing user interfaceelement refers to an user interface element that allows a user to add asuffix to the predictive data string. For example, the suffix editinguser interface element may be in the form of a drop-down menu, an inputbox, a button (including text buttons, radio buttons, toggle buttons),and/or the like.

Additionally, or alternatively, the symbology ID editing user interfaceelement refers to a user interface element that allows a user to add ordefine a symbology ID to the predictive data string. In someembodiments, the symbology ID may uniquely identify the predictive datastring. For example, the symbology ID editing user interface element maybe in the form of a drop-down menu, an input box, a button (includingtext buttons, radio buttons, toggle buttons), and/or the like.

In some embodiments, the processor receives user edit input dataassociated with the at least one of the prefix editing user interfaceelement, the suffix editing user interface element, and/or the symbologyID editing user interface element.

For example, the processor may receive user edit input data associatedwith the prefix editing user interface element that indicates a userrequest to add a prefix to the predictive data string. In someembodiments, the user edit input data may further comprise the prefix tobe added to the predictive data string.

Additionally, or alternatively, the processor may receive user editinput data associated with the suffix editing user interface elementthat indicates a user request to add a suffix to the predictive datastring. In some embodiments, the user edit input data may furthercomprise the suffix to be added to the predictive data string.

Additionally, or alternatively, the processor may receive user editinput data associated with the symbology ID editing user interfaceelement that indicates a user request to add or define a symbology ID tothe predictive data string. In some embodiments, the user edit inputdata may further comprise the symbology ID to be added or defined forthe predictive data string.

Referring back to FIG. 7 , subsequent to and/or in response tostep/operation 703, the example method 700 proceeds to step/operation705. At step/operation 705, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) updates the at least onepredictive indicia data editing indication based at least in part on theuser edit input data received at step/operation 703.

For example, in response to receiving user edit input data associatedwith the prefix editing user interface element, the processor may add,to the predictive indicia data editing model, one or more predictiveindicia data editing indications (for example, predictive editingoperation indications) that define an indicia data editing operation toadd the prefix to the predictive data string based on the user editinput data.

Additionally, or alternatively, in response to receiving user edit inputdata associated with the suffix editing user interface element, theprocessor may add, to the predictive indicia data editing model, one ormore predictive indicia data editing indications (for example,predictive editing operation indications) that define an indicia dataediting operation to add the suffix to the predictive data string basedon the user edit input data.

Additionally, or alternatively, in response to receiving user edit inputdata associated with the symbology ID user interface element, theprocessor may add, to the predictive indicia data editing model, one ormore predictive indicia data editing indications (for example,predictive editing operation indications) that define an indicia dataediting operation to add and/or define the symbology ID for thepredictive data string based on the user edit input data.

In some embodiments, the processor may update the scan setting modulebased at least in part on the added predictive indicia data editingindication(s), similar to those described above in connection with atleast step/operation 410 of FIG. 4 .

Referring back to FIG. 7 , subsequent to and/or in response tostep/operation 705, the example method 700 proceeds to step/operation707 and ends.

Referring now to FIG. 8 , an example method 800 is illustrated. In someembodiments, the example method 800 may be implemented after apredictive indicia data editing model is generated in accordance withvarious embodiments of the present disclosure. The example method 800illustrates determining whether to apply the predictive indicia dataediting model on a decoded data string.

The example method 800 starts at step/operation 802. Subsequent toand/or in response to step/operation 802, the example method 800proceeds to step/operation 804. At step/operation 804, a processor (suchas, but not limited to, the processor 301 of the indicia data editingdevice 101A described above in connection with FIG. 1 and FIG. 3 )receives a second decoded data string corresponding to a second indicia.

In some embodiments, the processor may receive the second decoded datastring similar to those described above in connection with at leaststep/operation 404 of FIG. 4 .

Referring back to FIG. 8 , subsequent to and/or in response tostep/operation 804, the example method 800 proceeds to step/operation806. At step/operation 806, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) determines whether thesecond decoded data string satisfies the at least one characteristicrequirement.

For example, as described above in connection with at least FIG. 4 , thepredictive indicia data editing model may comprise at least onepredictive indicia data editing indication. In some embodiments, the atleast one predictive indicia data editing indication may comprise atleast one predictive editing applicability indication. In someembodiments, the at least one predictive editing applicabilityindication may define at least one characteristic requirement forapplying the predictive indicia data editing model.

As an example, the predictive indicia data editing model may define thefollowing predictive editing applicability indications:

1. Apply to CODE 128; and

2. Apply to LENGTH=13.

In this example, the processor may determine whether the second decodeddata string received at step/operation 804 satisfies the predictiveediting applicability indications (e.g. whether the second decoded datastring satisfies the characteristic requirements defined by thepredictive editing applicability indications).

In some embodiments, the processor may determine that the second decodeddata string satisfies the characteristic requirements defined by thepredictive editing applicability indications if the second decoded datastring meets all the characteristic requirements. Continuing from theexample above, if the second decoded data string is based on Code 128and has a length of 13 characters, the processor determines that thesecond decoded data string satisfies the at least one characteristicrequirement at step/operation 806.

In some embodiments, the processor may determine that the second decodeddata string does not satisfy the characteristic requirements defined bythe predictive editing applicability indications if the second decodeddata string does not meet all the characteristic requirements. Forexample, if the second decoded data string is not based on CODE 128and/or if the second decoded data string has a length of less than ormore than 13 characters, the processor determines that the seconddecoded data string does not satisfy the at least one characteristicrequirement at step/operation 806.

If, at step/operation 806, the processor determines that the seconddecoded data string satisfies the at least one characteristicrequirement, the example method 800 proceeds to step/operation 808. Atstep/operation 808, a processor (such as, but not limited to, theprocessor 301 of the indicia data editing device 101A described above inconnection with FIG. 1 and FIG. 3 ) generates a predictive data stringbased at least in part on providing the second decoded data string tothe predictive indicia data editing model.

For example, in response to determining that the second decoded datastring satisfies the at least one characteristic requirement, theprocessor generates a predictive data string based at least in part onproviding the second decoded data string to the predictive indicia dataediting model.

As described above in connection with at least FIG. 4 , the predictiveindicia data editing model may comprise at least one predictive indiciadata editing indication. In some embodiments, the at least onepredictive indicia data editing indication may comprise and at least onepredictive editing operation indication. In some embodiments, the atleast one predictive editing operation indication may define at leastone indicia data editing operation.

Continuing from the example above, the predictive indicia data editingmodel may define the following predictive editing operation indication:

1. Remove all first 3 digits; and

2. Change the last digit to “Z”

In such an example, the processor may generate the predictive datastring by removing all first 3 digits from the second decoded datastring, and changing the last digit of the second decoded data string to“Z.”

Referring back to FIG. 8 , subsequent to and/or in response tostep/operation 808, the example method 800 proceeds to step/operation810. At step/operation 810, a processor (such as, but not limited to,the processor 301 of the indicia data editing device 101A describedabove in connection with FIG. 1 and FIG. 3 ) transmits the predictivedata string to a keyboard module.

In some embodiments, the keyboard module may translate the predictivedata string into keyboard strokes. For example, the keyboard module mayprovide the predictive data string as an input string to an input/outputcomponent to a computing device (such as, but not limited to, theinput/output circuitry 307 of the indicia data editing device 101A shownabove in connection with at least FIG. 1 and FIG. 3 ).

In some embodiments, the computing device may cause the predictive datastring to be provided as an input on a user interface. For example, thecomputing device may render an user interface that comprises an inputuser interface element (such as, but are not limited to, an input box).In some embodiments, upon receiving the predictive data string from thekeyboard module, the computing device may provide the predictive datastring as an input to the input user interface element.

Referring back to FIG. 8 , subsequent to and/or in response tostep/operation 810, the example method 800 proceeds to step/operation814 and ends.

If, at step/operation 806, the processor determines that the seconddecoded data string does not satisfy the at least one characteristicrequirement, the example method 800 proceeds to step/operation 812. Atstep/operation 812, a processor (such as, but not limited to, theprocessor 301 of the indicia data editing device 101A described above inconnection with FIG. 1 and FIG. 3 ) transmits the second decoded datastring to a keyboard module.

For example, in response to determining that the second decoded datastring does not satisfy the at least one characteristic requirement, theprocessor determines that the second decoded data string does notsatisfy the requirement for applying the predictive indicia data editingmodel. For example, the indicia corresponding to the second decoded datastring may be associated with a different user and/or for a differentuse case. In such an example, the processor may provide the seconddecoded data string to the keyboard module (instead of generating apredictive data string).

In some embodiments, the keyboard module may translate the seconddecoded data string into keyboard strokes. For example, the keyboardmodule may provide the second decoded data string as an input string toan input/output component to a computing device (such as, but notlimited to, the input/output circuitry 307 of the indicia data editingdevice 101A shown above in connection with at least FIG. 1 and FIG. 3 ).

In some embodiments, the computing device may cause the second decodeddata string to be provided as an input on a user interface. For example,the computing device may render an user interface that comprises aninput user interface element (such as, but are not limited to, an inputbox). In some embodiments, upon receiving the second decoded data stringfrom the keyboard module, the computing device may provide the seconddecoded data string as an input to the input user interface element.

Referring back to FIG. 8 , subsequent to and/or in response tostep/operation 812, the example method 800 proceeds to step/operation814 and ends.

Referring now to FIG. 9A to FIG. 10B, example user interfaces inaccordance with various embodiments of the present disclosure areillustrated. In particular, FIG. 9A to FIG. 10B illustrate differentoperations of triggering rendering a predictive indicia data editinguser interface on a display of a computing device in accordance withvarious embodiments of the present disclosure.

As described above, various embodiments of the present disclosure may beconfigured in various forms. For example, some embodiments of thepresent disclosure may be configured as a software plugin (for example,a Data Editor AI plugin for mobile devices) that can be installed in acomputing device. In such an example, the software plugin may update thesettings of the computing device (for example, to provide variousfeatures described herein). In some embodiments, once the softwareplugin is installed on a computing device, the computing device becomesan indicia data editing device described herein.

Referring now to FIG. 9A to FIG. 9D, example user interfaces areillustrated. The example user interfaces may be rendered to a display ofa computing device that has installed the software plugin describedabove.

In some embodiments, in order to trigger rendering of a predictiveindicia data editing user interface in accordance with variousembodiments of the present disclosure, the user may operate thecomputing device to navigate to the user interface 900A. In the exampleshown in FIG. 9A, the user interface 900A may be an application listinguser interface that comprises user interface elements corresponding tosoftware applications installed on the computing device. In particular,the user interface 900A may comprise a user interface icon 901 thatcorresponds to a setting application of the computing device. In thisexample, the setting application may define and/or specify one or moresettings associated with the computing device.

In some embodiments, when a user clicks, taps and/or otherwise selectsthe user interface icon 901, the user interface 900A may be updated tothe user interface 900B shown in FIG. 9B.

In the example shown in FIG. 9B, the user interface 900B may comprise ageneral setting user interface that comprises user interface elementscorresponding to settings of the computing device. In some embodiments,the general setting user interface may comprise one or more userinterface elements that correspond to settings for operations and/orfeatures of the computing device. For example, the user interface 900Bmay comprise an indicia data capturing and editing option user interfaceelement 905 that allows users to view settings associated with indiciadata capturing and editing.

In some embodiments, when a user clicks, taps and/or otherwise selectsindicia data capturing and editing option user interface element 905,the user interface 900B may be updated to the user interface 900C shownin FIG. 9C.

In the example shown in FIG. 9C, the user interface 900C may comprise anindicia data capturing and editing setting user interface that comprisesuser interface elements corresponding to indicia data capturing andediting settings. For example, the user interface 900C may comprise ascan setting option user interface element 909 that allows users to viewsettings associated with the scan setting module described herein.

In some embodiments, when a user clicks, taps and/or otherwise selectsscan setting option user interface element 909, the user interface 900Cmay be updated to the user interface 900D shown in FIG. 9D.

In the example shown in FIG. 9D, the user interface 900D may comprise ascan setting module user interface that comprises user interfaceelements corresponding to different options associated with the scansetting module. For example, the user interface 900D may comprise an AIdata editing option user interface element 911 that allows users totrigger rendering a predictive indicia data editing user interface inaccordance with various examples described herein.

In some embodiments, when a user clicks, taps and/or otherwise selectsthe AI data editing option user interface element 911, the userinterface 900D may be updated to include a predictive indicia dataediting user interface (for example, but not limited to, thoseillustrated in connection with at least FIG. 11A to FIG. 11C).

Referring now to FIG. 10A to FIG. 10B, example user interfaces areillustrated. The example user interfaces may be rendered to a display ofa computing device that has installed the software plugin describedabove.

In some embodiments, in order to trigger rendering of a predictiveindicia data editing user interface in accordance with variousembodiments of the present disclosure, the user may operate thecomputing device to navigate to the user interface 1000A. In the exampleshown in FIG. 10A, the user interface 1000A may be an applicationlisting user interface that comprises user interface elementscorresponding to software applications installed on the computingdevice. In particular, the user interface 1000A may comprise a userinterface icon 1002 that corresponds to power tool applications that areinstalled on the computing device. In this example, the power toolapplications may include one or more software applications that areassociated with indicia data capturing and editing operations.

In some embodiments, when a user clicks, taps and/or otherwise selectsthe user interface icon 1002, the user interface 1000A may be updated tothe user interface 1000B shown in FIG. 10B.

In the example shown in FIG. 10B, the user interface 1000B may comprisea power tool application user interface that comprises user interfaceelements corresponding to power tool applications. For example, the userinterface 1000B may comprise an AI data editing user interface icon 1004that allows users to trigger rendering a predictive indicia data editinguser interface in accordance with various examples described herein.

In some embodiments, when a user clicks, taps and/or otherwise selectsthe AI data editing user interface icon 1004, the user interface 1000Bmay be updated to include a predictive indicia data editing userinterface (for example, but not limited to, those illustrated inconnection with at least FIG. 11A to FIG. 11C).

Referring now to FIG. 11A to FIG. 11C, example predictive indicia dataediting user interfaces in accordance with various embodiments of thepresent disclosure are illustrated.

Referring now to FIG. 11A, an example predictive indicia data editinguser interface 1100A in accordance with various embodiments of thepresent disclosure is provided. In particular, the example predictiveindicia data editing user interface 1100A comprises user interfaceelements that illustrate a decoded data string associated with anindicia and allow a user to provide user input data that specifies aninput data string corresponding to the same indicia.

In the example shown in FIG. 11A, the example predictive indicia dataediting user interface 1100A may comprise a scan output user interfacesection 1101. In some embodiments, the scan output user interfacesection 1101 may comprise texts and/or characters that correspond to adecoded data string. For example, the decoded data string may bedetermined in accordance with various embodiments described herein. Asan example, the scan output user interface section 1101 may comprisetexts that indicate the decoded data string corresponding to the indiciais ABC 1234567890.

In some embodiments, the example predictive indicia data editing userinterface 1100A may comprise a user input interface section 1103. Insome embodiments, the user input interface section 1103 may allow a userto input texts and/or characters that correspond to the input datastring. For example, the user input interface section 1103 may comprisean input box that allows a user to type in texts and/or characters, anda processor may determine these texts and/or characters as the inputdata string. As an example, a user may input 123456789Z to the userinput interface section 1103, which indicates that the input data stringcorresponding to the indicia is 123456789Z.

In some embodiments, the example predictive indicia data editing userinterface 1100A may comprise one or more additional virtual keyboarduser interface elements that allow users to input additional textsand/or characters that may not be included in a physical keyboard. Forexample, the example predictive indicia data editing user interface1100A may include a control character keyboard user interface element1109 that allows a user to input control characters to the user inputinterface section 1103 as at least a part of the input data string.Additionally, or alternatively, the example predictive indicia dataediting user interface 1100A may include a printable character keyboarduser interface element 1111 that allows a user to input printablecharacters to the user input interface section 1103 as at least a partof the input data string. Additionally, or alternatively, the examplepredictive indicia data editing user interface 1100A may include anextended ASCII character keyboard user interface element 1113 thatallows a user to input extended ASCII characters to the user inputinterface section 1103 as at least a part of the input data string.

In some embodiments, the input data string and the decoded data stringare associated with the same indicia. As described above, the decodeddata string that is illustrated in the scan output user interfacesection 1101 may be determined based on indicia imaging data that iscaptured by an indicia data capturing device and associated with anindicia. In some embodiments, a user may provide the input data stringthat indicates a data string formatted based on the user requirementsand is associated with the same indicia.

As an example, the decoded data string associated with an indicia maycomprise the following texts and/or characters shown in TABLE 1:

TABLE 1 EXAMPLE DECODED DATA STRING 2108CRLF 1601000025CRLF 0000CRLF8C5LLH2CRLF

In some embodiments, the user may provide the following input datastring that corresponds to the same indicia:

-   -   1601000025<tab>0000<tab>2108<tab><enter>

As shown in the example above, the input data string may comprisecontrol characters such as “<tab>” and “<enter>.”

In some embodiments, the example predictive indicia data editing userinterface 1100A may comprise a confirm button user interface element1105 and a cancel button user interface element 1107.

In some embodiments, when a user decides to cancel generating thepredictive indicia data editing model, the user may click, tap, orotherwise select the cancel button user interface element 1107.

In some embodiments, when a user completes providing user input to theuser input interface section 1103 and is ready for the processor togenerate a predictive indicia data editing model, the user may click,tap, or otherwise select the confirm button user interface element 1105.In some embodiments, subsequent to the user clicking, tapping, and/otherotherwise selecting the confirm button user interface element 1105, aprocessor may generate a predictive indicia data editing model inaccordance with various embodiments described herein, and the examplepredictive indicia data editing user interface 1100A may be updated tothe example predictive indicia data editing user interface 1100B shownin FIG. 11B.

Referring now to FIG. 11B, the example predictive indicia data editinguser interface 1100B is illustrated. In particular, the examplepredictive indicia data editing user interface 1100B may comprise atleast one predictive indicia data editing user interface element basedon the at least one predictive indicia data editing indication(including, but not limited to, at least one predictive editingapplicability indication and at least one predictive editing operationindication).

In the example shown in FIG. 11B, at least one predictive indicia dataediting user interface element may include the predictive indicia dataediting user interface element 1115 and the predictive indicia dataediting user interface element 1117 that correspond to the at least onepredictive editing operation indication. For example, the predictiveindicia data editing user interface element 1115 may graphically displaytexts indicating a predictive editing operation indication to remove allfirst 3 digits. As another example, the predictive indicia data editinguser interface element 1117 may graphically display texts indicating apredictive editing operation indication to change the last digit to “Z.”

Additionally, or alternatively, the at least one predictive indicia dataediting user interface element may include the predictive indicia dataediting user interface element 1119 and the predictive indicia dataediting user interface element 1121 that correspond to the at least onepredictive editing applicability indication. For example, the predictiveindicia data editing user interface element 1119 may graphically displaytexts indicating a predictive editing applicability indication is to“apply to CODE 128” (e.g. when the symbology type of the decoded datastring is CODE 128). As another example, the predictive indicia dataediting user interface element 1121 may graphically display textsindicating a predictive editing applicability indication to “apply tolength=13” (e.g. when the length of the decoded data string is 13).

In some embodiments, the example predictive indicia data editing userinterface 1100B may comprise at least one confirm button user interfaceelement corresponding to the at least one predictive indicia dataediting user interface element, and at least one edit button userinterface element corresponding to the at least one predictive indiciadata editing user interface element.

For example, the predictive indicia data editing user interface 1100Bmay comprise a confirm button user interface element 1123 and an editbutton user interface element 1125 that are positioned adjacent to thepredictive indicia data editing user interface element 1115. In thisexample, when the user clicks, taps, and/or otherwise selects theconfirm button user interface element 1123, a processor may receive auser selection input data associated with the confirm button userinterface element 1123 indicating that the user approves the predictiveediting operation indication corresponding to the predictive indiciadata editing user interface element 1115. In some embodiments, theprocessor may update the scan setting module based at least in part onthe at least one predictive indicia data editing indication, similar tothose described above in connection with at least FIG. 5 . When the userclicks, taps, and/or otherwise selects the edit button user interfaceelement 1125, the processor may generate and render an updatedpredictive indicia data editing user interface that includes an editoption user interface element. In some embodiments, the user may provideuser edit input data associated with the edit option user interfaceelement, and the processor may generate at least one updated predictiveindicia data editing indication and update the scan setting module basedon the at least one updated predictive indicia data editing indication,similar to those described above in connection with at least FIG. 6 .

Additionally, or alternatively, in the example shown in FIG. 11B, theexample predictive indicia data editing user interface 1100B maycomprise a confirm button user interface element 1127 and an edit buttonuser interface element 1129 that are positioned adjacent to thepredictive indicia data editing user interface element 1117. The confirmbutton user interface element 1127 may allow the user to confirm thepredictive editing operation indication corresponding to the predictiveindicia data editing user interface element 1117, and the edit buttonuser interface element 1129 allows the user to edit the predictiveediting operation indication corresponding to the predictive indiciadata editing user interface element 1117.

Additionally, or alternatively, in the example shown in FIG. 11B, theexample predictive indicia data editing user interface 1100B maycomprise a confirm button user interface element 1131 and an edit buttonuser interface element 1133 that are positioned adjacent to thepredictive indicia data editing user interface element 1119. The confirmbutton user interface element 1131 may allow the user to confirm thepredictive editing applicability indication corresponding to thepredictive indicia data editing user interface element 1119, and theedit button user interface element 1129 may allow the user to edit thepredictive editing applicability indication corresponding to thepredictive indicia data editing user interface element 1119.

Additionally, or alternatively, in the example shown in FIG. 11B, theexample predictive indicia data editing user interface 1100B maycomprise a confirm button user interface element 1135 and an edit buttonuser interface element 1137 that are positioned adjacent to thepredictive indicia data editing user interface element 1121. The confirmbutton user interface element 1135 may allow the user to confirm thepredictive editing applicability indication corresponding to thepredictive indicia data editing user interface element 1121, and theedit button user interface element 1137 may allow the user to edit thepredictive editing applicability indication corresponding to thepredictive indicia data editing user interface element 1121.

While the description above provides examples of predictive indicia dataediting indications, it is noted that the scope of the presentdisclosure is not limited to the description above. In some examples, anexample predictive indicia data editing indication may comprise one ormore additional and/or alternative predictive editing applicabilityindications and predictive editing operation indications.

For example, an example predictive indicia data editing indication maycomprise a predictive editing operation indication that indicatesrearrangements of one or more parts of the decoded data string togenerate the predictive data string. Additionally, or alternatively, anexample predictive indicia data applicability indication may indicatecharacteristic requirements such as, but not limited to, whether thedecoded data string comprises one or more numbers or letters.

In some embodiments, the example predictive indicia data editing userinterface 1100B may comprise a confirm button user interface element1139 and a cancel button user interface element 1141. In someembodiments, when a user wants to cancel generating the predictiveindicia data editing model, the user may click, tap, and/or otherwiseselect the cancel button user interface element 1141. In someembodiments, when a user completes confirming and/or editing thepredictive indicia data editing indication, the user may click, tap,and/or otherwise select the confirm button user interface element 1139.

In some embodiments, in response to receiving user selection input dataassociated with the confirm button user interface element 1139, theprocessor may update the predictive indicia data editing model asapplicable, and may update the scan setting module based at least inpart on the predictive indicia data editing model. In some embodiments,in response to receiving user selection input data associated with theconfirm button user interface element 1139, the predictive indicia dataediting user interface 1100B may be updated to the predictive indiciadata editing user interface 1100C shown in FIG. 11C.

Referring now to FIG. 11C, the example predictive indicia data editinguser interface 1100C is illustrated. In particular, the examplepredictive indicia data editing user interface 1100C allows a user toprovide additional predictive indicia data editing indication (such as,but not limited to, additional predictive editing applicabilityindication and/or additional predictive editing operation indication).

In the example shown in FIG. 11C, at least one predictive indicia dataediting user interface element may include a prefix editing userinterface element 1143, a suffix editing user interface element 1145,and a symbology identifier (ID) editing user interface element 1147. Insome embodiments, the example predictive indicia data editing userinterface 1100C comprises a confirm button user interface element and anedit button user interface element that correspond to each of the prefixediting user interface element 1143, the suffix editing user interfaceelement 1145, and the symbology ID editing user interface element 1147.

For example, the example predictive indicia data editing user interface1100C may comprise a confirm button user interface element 1149corresponding to the prefix editing user interface element 1143, and anedit button user interface element 1151 corresponding to the prefixediting user interface element 1143. In this example, when the userclicks, taps, and/or otherwise selects the confirm button user interfaceelement 1149, a processor may receive a user selection input dataassociated with the confirm button user interface element 1149indicating that the user approves the predictive editing operationindication to add no prefix. In some embodiments, the processor mayupdate the scan setting module based at least in part on the at leastone predictive indicia data editing indication. When the user clicks,taps, and/or otherwise selects the edit button user interface element1151, the processor may generate and render an updated predictiveindicia data editing user interface that includes an edit option userinterface element. In some embodiments, the user may provide user editinput data associated with the edit option user interface element, andthe processor may generate at least one updated predictive indicia dataediting indication (for example, including an updated prefix) and updatethe scan setting module based on the at least one updated predictiveindicia data editing indication.

In some embodiments, the example predictive indicia data editing userinterface 1100C may comprise a confirm button user interface element1153 corresponding to the suffix editing user interface element 1145,and an edit button user interface element 1155 corresponding to thesuffix editing user interface element 1145. The confirm button userinterface element 1153 may allow the user to confirm adding a suffix<CR> as illustrated in the suffix editing user interface element 1145,and the edit button user interface element 1155 allows the user to editthe suffix.

In some embodiments, the example predictive indicia data editing userinterface 1100C may comprise a confirm button user interface element1157 corresponding to the symbology ID editing user interface element1147, and an edit button user interface element 1159 corresponding tothe symbology ID editing user interface element 1147. The confirm buttonuser interface element 1157 may allow the user to confirm not to add ordefine a symbology ID as illustrated in the symbology ID editing userinterface element 1147, and the edit button user interface element 1159allows the user to edit or add a symbology ID.

While the description above provides examples of additional predictiveindicia data editing indications that a user can add to a predictiveindicia data editing model, it is noted that the scope of the presentdisclosure is not limited to the description above. In some examples,users may add one or more additional and/or alternative predictiveindicia data editing indications to the predictive indicia data editingmodel.

As an example, an example keyboard module may provide a decoded datastring or a predictive data string to multiple input fields of asoftware application. Continuing from the example above where the userprovides an input data string“1601000025<tab>0000<tab>2108<tab><enter>,” different parts of the inputdata string may be associated with different input fields of an assetmanagement software application. For example, “1601000025” may beassociated with an input field for an asset number, “0000” may beassociated with an input field for an asset sub-number, and “2108” maybe associated with an input field for a company code. In someembodiments, the predictive indicia data editing user interface 1100Cmay comprise input field association user interface elements that allowa user to define an input field association between a part of thedecoded data string or the predictive data string and an input fieldassociated with a keyboard module.

In some embodiments, the example predictive indicia data editing userinterface 1100C may comprise a confirm button user interface element1161 and a cancel button user interface element 1163. In someembodiments, when a user wants to cancel generating the predictiveindicia data editing model, the user may click, tap, and/or otherwiseselect the cancel button user interface element 1163. In someembodiments, when a user completes adding the predictive indicia dataediting indication, the user may click, tap, and/or otherwise select theconfirm button user interface element 1161.

In some embodiments, in response to receiving user selection input dataassociated with the confirm button user interface element 1161, theprocessor may update the predictive indicia data editing model asapplicable, and may update the scan setting module based at least inpart on the predictive indicia data editing model in accordance withvarious examples described herein.

It is to be understood that the disclosure is not to be limited to thespecific embodiments disclosed, and that modifications and otherembodiments are intended to be included within the scope of the appendedclaims. Although specific terms are employed herein, they are used in ageneric and descriptive sense only and not for purposes of limitation,unless described otherwise.

The invention claimed is:
 1. An apparatus comprising at least oneprocessor and at least one non-transitory memory comprising programcode, wherein the at least one non-transitory memory and the programcode are configured to, with the at least one processor, cause theapparatus to at least: determine, based at least in part on a dataprocessing model associated with a scan setting module, a first decodeddata string corresponding to a first indicia; determine, based at leastin part on user input data, a first input data string corresponding tothe first indicia; generate a predictive indicia data editing modelbased at least in part on providing the first decoded data string andthe first input data string to an artificial intelligence algorithm; andupdate the scan setting module based at least in part on the predictiveindicia data editing model.
 2. The apparatus of claim 1, wherein, priorto receiving the first decoded data string, the at least onenon-transitory memory and the program code are configured to, with theat least one processor, cause the apparatus to: receive indicia imagingdata associated with the first indicia from an indicia data capturingdevice; and generate the first decoded data string based at least inpart on the indicia imaging data and the data processing model.
 3. Theapparatus of claim 1, wherein the artificial intelligence algorithmcomprises at least one pattern matching algorithm.
 4. The apparatus ofclaim 3, wherein the artificial intelligence algorithm comprises atleast one regular expression algorithm.
 5. The apparatus of claim 1,wherein the predictive indicia data editing model defines at least onepredictive indicia data editing indication.
 6. The apparatus of claim 5,wherein, prior to updating the scan setting module, the at least onenon-transitory memory and the program code are configured to, with theat least one processor, cause the apparatus to: render a predictiveindicia data editing user interface, wherein the predictive indicia dataediting user interface comprises at least one predictive indicia dataediting user interface element based on the at least one predictiveindicia data editing indication.
 7. The apparatus of claim 6, whereinthe predictive indicia data editing user interface further comprises: atleast one confirm button user interface element corresponding to the atleast one predictive indicia data editing user interface element, and atleast one edit button user interface element corresponding to the atleast one predictive indicia data editing user interface element.
 8. Acomputer-implemented method comprising: determining, based at least inpart on a data processing model associated with a scan setting module, afirst decoded data string corresponding to a first indicia; determining,based at least in part on user input data, a first input data stringcorresponding to the first indicia; generating a predictive indicia dataediting model based at least in part on providing the first decoded datastring and the first input data string to an artificial intelligencealgorithm; and updating the scan setting module based at least in parton the predictive indicia data editing model.
 9. Thecomputer-implemented method of claim 8, wherein, prior to receiving thefirst decoded data string, the computer-implemented method furthercomprises: receiving indicia imaging data associated with the firstindicia from an indicia data capturing device; and generating the firstdecoded data string based at least in part on the indicia imaging dataand the data processing model.
 10. The computer-implemented method ofclaim 8, wherein the artificial intelligence algorithm comprises atleast one pattern matching algorithm.
 11. The computer-implementedmethod of claim 10, wherein the artificial intelligence algorithmcomprises at least one regular expression algorithm.
 12. Thecomputer-implemented method of claim 8, wherein the predictive indiciadata editing model defines at least one predictive indicia data editingindication.
 13. The computer-implemented method of claim 12, wherein,prior to updating the scan setting module, the computer-implementedmethod further comprises: rendering a predictive indicia data editinguser interface, wherein the predictive indicia data editing userinterface comprises at least one predictive indicia data editing userinterface element based on the at least one predictive indicia dataediting indication.
 14. The computer-implemented method of claim 13,wherein the predictive indicia data editing user interface furthercomprises: at least one confirm button user interface elementcorresponding to the at least one predictive indicia data editing userinterface element, and at least one edit button user interface elementcorresponding to the at least one predictive indicia data editing userinterface element.
 15. A computer program product comprising at leastone non-transitory computer-readable storage medium havingcomputer-readable program code portions stored therein, thecomputer-readable program code portions comprising an executable portionconfigured to: determine, based at least in part on a data processingmodel associated with a scan setting module, a first decoded data stringcorresponding to a first indicia; determine, based at least in part onuser input data, a first input data string corresponding to the firstindicia; generate a predictive indicia data editing model based at leastin part on providing the first decoded data string and the first inputdata string to an artificial intelligence algorithm; and update the scansetting module based at least in part on the predictive indicia dataediting model.
 16. The computer program product of claim 15, wherein,prior to receiving the first decoded data string, the computer-readableprogram code portions comprise the executable portion configured to:receive indicia imaging data associated with the first indicia from anindicia data capturing device; and generate the first decoded datastring based at least in part on the indicia imaging data and the dataprocessing model.
 17. The computer program product of claim 15, whereinthe artificial intelligence algorithm comprises at least one patternmatching algorithm.
 18. The computer program product of claim 17,wherein the artificial intelligence algorithm comprises at least oneregular expression algorithm.
 19. The computer program product of claim15, wherein the predictive indicia data editing model defines at leastone predictive indicia data editing indication.
 20. The computer programproduct of claim 19, wherein, prior to updating the scan setting module,the computer-readable program code portions comprise the executableportion configured to: render a predictive indicia data editing userinterface, wherein the predictive indicia data editing user interfacecomprises at least one predictive indicia data editing user interfaceelement based on the at least one predictive indicia data editingindication.